Entrenar un Segmenter
Esta guía le muestra cómo configurar y ajustar la función de segmentación del OV80i para detectar, medir y analizar automáticamente características específicas o defectos en sus piezas. Utilice la segmentación cuando necesite identificar formas irregulares, medir áreas o detectar patrones específicos que no pueden ser manejados por una simple clasificación.
Cuándo usar Segmentación: Defectos de superficie, derrames de líquidos, formas irregulares, mediciones de áreas, detección de patrones, o cualquier característica que requiera precisión a nivel de píxel.
Antes de empezar
Qué necesitará
- Sistema de cámara OV80i configurado y conectado
- Piezas de prueba con las características que desea segmentar (p. ej., láminas con marcas de lápiz)
- Buenas condiciones de iluminación para su aplicación específica
- 15-20 imágenes de muestra para el entrenamiento
Paso 1: Crear una Receta de Segmentación
1.1 Iniciar Nueva Receta
- Navegar a la página Todas las Recetas
- Haga clic en
+ New Recipe(esquina superior derecha)
- Ingrese el nombre de la Receta: Use un nombre descriptivo como "Pencil_Mark_Detection" o "Surface_Defect_Segmentation"
- Seleccione el Tipo de Receta: Elija "Segmentation" desde el menú desplegable
- Haga clic en
OKpara crear
1.2 Activar Receta
- Encuentre su receta en la lista (se muestra como "Inactive")
- Haga clic en
Activate - Haga clic en
Activate and go to editorpara confirmar y lanzar el editor de la receta
✅ Resultado: La receta pasa a estar "Active" y se muestra el Editor de Recetas.
Paso 2: Configurar la Cámara
2.1 Abrir Configuración de Imagen
- Haga clic en
Configure Imaging(lado inferior izquierdo)

2.2 Optimizar el Enfoque para Segmentación
El enfoque es crítico para una detección precisa de bordes:
- Coloque la pieza de prueba en la vista de la cámara
- Ajuste el Enfoque hasta que los bordes sean nítidos y claros
- Pruebe con diferentes piezas para asegurar un enfoque consistente a lo largo de su rango
- Enfoque en la superficie donde aparecerán defectos o características
- Asegúrese de que toda el área de interés esté en enfoque nítido
- Un ligero sobreenfoque es mejor que un enfoque suave para la segmentación
2.3 Establecer la Exposición Óptima
Una exposición adecuada garantiza una detección de características consistente:
- Ajuste la Exposición para una iluminación equilibrada
- Evite áreas sobreexpuestas (regiones de blanco puro)
- Asegúrese de que las características sean visibles con buen contraste
Directrices de Exposición para Segmentación:
- Las características deben tener un contraste claro con el fondo
- Evite sombras que podrían confundirse con defectos
- Pruebe con diversas condiciones de las piezas (limpias, sucias, gastadas)
2.4 Configurar el Patrón de Iluminación LED
Elija la iluminación en función de lo que esté segmentando:
| Tipo de Característica | Iluminación Recomendada | Por Qué |
|---|---|---|
| Defectos de superficie | Campo claro | Una iluminación uniforme revela irregularidades de la superficie |
| Arañazos y grietas | Iluminación lateral | Crea sombras que destacan defectos lineales |
| Características en relieve | Campo oscuro | Hace que las zonas elevadas se destaquen del fondo |
| Derrames de líquidos | Iluminación lateral | Muestra diferencias en la textura de la superficie |
2.5 Ajustar Gamma para la Mejora de Características
- Aumentar Gamma para mejorar el contraste entre las características y el fondo
- Probar diferentes valores mientras visualiza las características objetivo
- Encontrar la configuración que haga que las características sean más distinguibles
2.6 Guardar Configuración
- Revisar la configuración en la vista previa en vivo
- Haga clic en
Save Imaging Settings

✅ Punto de control: Las características deben ser claramente visibles con buen contraste.
Paso 3: Configurar Plantilla y Alineación
3.1 Navegar a la Sección de Plantilla
Haga clic en "Template Image and Alignment" en el menú de migas
3.2 Configurar Alineación (Opcional)
![]()
Para este ejemplo, omitiremos la alineación:
- Seleccionar
Skip Alignersi las piezas están posicionadas de forma consistente - Haga clic en
Save

Cuándo usar Aligner: Actívelo cuando las piezas lleguen en posiciones u orientaciones variables que podrían afectar la precisión de la segmentación.
Paso 4: Definir la Región de Inspección
4.1 Navegar a Configuración de Inspección
Haga clic en "Inspection Setup" en el menú de migas
4.2 Configurar la Región de Interés (ROI)
La ROI define dónde ocurrirá la segmentación:
- Coloque una pieza de prueba en la vista de la cámara
- Arrastre las esquinas de la ROI para enmarcar el área de inspección
- Ajuste el tamaño de la ROI adecuadamente:
- Incluya todas las áreas donde podrían aparecer las características
- Excluya regiones de fondo innecesarias
- Deje un pequeño margen alrededor de las ubicaciones esperadas de las características

4.3 Mejores Prácticas de ROI para Segmentación
| Do | Don't |
|---|---|
| Cubrir toda la superficie de inspección | Incluir objetos de fondo irrelevantes |
| Dejar espacio de búfer alrededor de los bordes | Hacer la ROI demasiado pequeña para variaciones de características |
| Considerar variación en el posicionamiento de la pieza | Superposición con fijaciones o herramientas |
| Probar con las características más grandes esperadas | Incluir áreas con marcas permanentes |
4.4 Guardar Configuración de ROI
- Verifique que la ROI cubra todas las áreas objetivo
- Haga clic en
Save
Paso 5: Etiquetar Datos de Entrenamiento
5.1 Navegar a Label And Train
Haga clic en "Label And Train" en el menú de migas
5.2 Configurar la Clase de Inspección
- Haga clic en
Editbajo Tipos de Inspección - Renombrar la clase para que coincida con su característica (p. ej., "Pencil Mark", "Surface Defect", "Spill Area")
- Elegir el color de la clase para identificación visual
- Guardar cambios
5.3 Capturar y Etiquetar Imágenes de Entrenamiento
Se requieren al menos 10 imágenes etiquetadas, pero se recomiendan 15-20:
Proceso de Captura de Imágenes
- Coloque la primera pieza de prueba en el área de inspección
- Tome la imagen usando la interfaz de la cámara
- Usar la herramienta Pincel para pintar sobre las características objetivo
- Pinte con precisión:
- Cubra toda el área de la característica
- Manténgase dentro de los límites de la característica
- No pinte las áreas de fondo
- Use un enfoque de etiquetado consistente
- Haga clic en
Save Annotations - Repita con la siguiente pieza

Mejores Prácticas de Etiquetado
| Etiquetado Bueno | Etiquetado Deficiente |
|---|---|
| Límites de características precisos | Bordes pintados de forma descuidada |
| Definición de características consistente | Definición de características inconsistente |
| Cobertura completa de características | Áreas de características ausentes |
| Fondo limpio (sin pintar) | Pintado accidental del fondo |
5.4 Variedad de Datos de Entrenamiento
Asegúrese de que su conjunto de entrenamiento incluya:
- Diferentes tamaños de características
- Diversas intensidades de las características
- Múltiples ubicaciones dentro de ROI
- Diferentes condiciones de iluminación (si aplica)
- Casos límite y ejemplos límite
5.5 Verificación de la calidad de los datos de entrenamiento
- Revisar todas las imágenes etiquetadas
- Verificar un enfoque de etiquetado consistente
- Eliminar cualquier ejemplo etiquetado incorrectamente
- Agregar más ejemplos si es necesario
Paso 6: Entrenar Modelo de Segmentación
6.1 Inicio del Proceso de Entrenamiento
- Haga clic en
Return to Livecuando se haya completado el etiquetado - Haga clic en
Train Segmentation Model

6.2 Configurar Parámetros de Entrenamiento
- Establecer el número de iteraciones:
- Entrenamiento rápido: 50-100 iteraciones (5-10 minutos)
- Calidad de producción: 200-500 iteraciones (15-30 minutos)
- Alta precisión: 500+ iteraciones (30+ minutos)
- Haga clic en
Start Training

6.3 Monitorear el progreso del entrenamiento
El progreso del entrenamiento muestra:
- Número de iteración actual
- Precisión de entrenamiento (porcentaje)
- Tiempo estimado de finalización

Controles de Entrenamiento:
- Abortar Entrenamiento: Detener si surgen problemas
- Finalizar el entrenamiento temprano: Detenerse cuando la precisión sea suficiente

- Una exactitud del 85% suele ser buena para producción
- El entrenamiento se detiene automáticamente al alcanzar la precisión objetivo
- Más datos de entrenamiento suelen ser mejores que más iteraciones
Paso 7: Probar el rendimiento de la segmentación
7.1 Acceder a la Vista previa en vivo
- Haga clic en
Live Previewdespués de completar el entrenamiento - Probar con varias piezas:
- Piezas buenas conocidas (debería mostrar poca o ninguna segmentación)
- Piezas defectuosas conocidas (debería resaltar defectos)
- Casos límite y ejemplos límite

7.2 Evaluar Resultados
Verificar la calidad de la segmentación:
| Métrica | Buen rendimiento | Necesita mejora |
|---|---|---|
| Exactitud | Encuentra características reales de forma consistente | Omite características obvias |
| Precisión | Pocos falsos positivos | Muchos píxeles de fondo resaltados |
| Calidad de Bordes | Bordes limpios y precisos | Bordes ásperos o imprecisos |
| Coherencia | Resultados similares en pruebas repetidas | Resultados altamente variables |
7.3 Solución de problemas de resultados pobres
| Problema | Causa probable | Solución |
|---|---|---|
| Faltan características | Datos de entrenamiento insuficientes | Agregar más ejemplos etiquetados |
| Falsos positivos | Iluminación/contraste deficientes | Mejorar la configuración de imagen |
| Bordes ásperos | Mala calidad de la imagen | Mejorar el enfoque/iluminación |
| Resultados inconsistentes | Variedad de entrenamiento inadecuada | Agregar más ejemplos diversos |
Paso 8: Configurar la Lógica de Pass/Fail
8.1 Acceder al Bloque IO
- Asegúrese de que el modelo de IA aparezca en verde (estado entrenado)
- Navegue hasta el Bloque IO a través del menú de migas de pan
8.2 Eliminar la Lógica Predeterminada
- Eliminar el nodo de Lógica del Bloque de Clasificación
- Prepararse para construir una lógica de segmentación personalizada
8.3 Construir el Flujo de Segmentación
Crear flujo de Node-RED con los siguientes componentes:
- Arrastre nodos desde el panel izquierdo:
- Nodo Function (para la lógica)
- Nodo Debug (para pruebas)
- Nodo Final Pass/Fail
- Conectar nodos con cables

8.4 Configurar la Lógica Según Sus Necesidades
Opción A: Pase si no se detectan defectos
Caso de uso: Inspección de calidad en la que cualquier característica detectada es un fallo
Código del nodo Function:
const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1; // Pass if no features found
msg.payload = results;
return msg;
Opción B: Pase si solo hay defectos pequeños
Caso de uso: Aceptar defectos menores por debajo del umbral de tamaño
Código del nodo Function:
const threshold = 500; // Adjust pixel count threshold
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;
Opción C: Pase si el área total de defectos es pequeña
Caso de uso: Aceptar piezas con área total de defectos limitada
Código del nodo Function:
const threshold = 5000; // Adjust total pixel threshold
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;
8.5 Configurar el Nodo Function
- Haga doble clic en el nodo Function
- Copie el código adecuado de los ejemplos anteriores
- Pegar en la pestaña "On Message"
- Ajuste los valores de umbral para su aplicación
- Haga clic en
Done
8.6 Desplegar y Probar la Lógica
- Haga clic en
Deploypara activar la lógica - Navegue a la HMI para pruebas
- Pruebe con piezas buenas y malas conocidas
- Verifique que los resultados de Pass/Fail coincidan con las expectativas
Paso 9: Validación de Producción
9.1 Pruebas Exhaustivas
Pruebe el sistema de segmentación con:
| Caso de Prueba | Resultado Esperado | Acción si Falla |
|---|---|---|
| Piezas limpias | Pass (sin segmentación) | Ajuste de umbrales o reentrenamiento |
| Defectos menores | Pass/Fail según sus criterios | Ajuste de los parámetros de la lógica |
| Defectos mayores | Fail (segmentación clara) | Verificar la exactitud del modelo |
| Casos límite | Comportamiento consistente | Añadir datos de entrenamiento |
9.2 Validación de Rendimiento
Monitoree estas métricas:
- Tiempo de procesamiento por inspección
- Consistencia entre múltiples pruebas
- Precisión con iluminación de producción
- Confiabilidad durante operación prolongada
9.3 Ajustes Finales
Si el rendimiento no es satisfactorio:
- Agregar más datos de entrenamiento para casos límite
- Ajustar los valores de umbral en la lógica
- Mejorar las condiciones de imagen
- Reentrenar el modelo con iteraciones adicionales
¡Éxito! Su sistema de segmentación está listo
Ahora tiene un sistema de segmentación operativo que puede:
- Detectar automáticamente características o defectos específicas
- Medir áreas con precisión a nivel de píxel
- Aplicar lógica personalizada de Pass/Fail basada en sus requisitos
- Integrarse con sistemas de producción a través de controles de E/S
Opciones Avanzadas de Configuración
Lógica de Umbral Personalizado
Para criterios de aceptación complejos, combine múltiples condiciones:
const smallThreshold = 200;
const largeThreshold = 1000;
const maxTotalArea = 3000;
const allBlobs = msg.payload.segmentation.blobs;
const smallBlobs = allBlobs.filter(blob => blob.pixel_count < smallThreshold);
const largeBlobs = allBlobs.filter(blob => blob.pixel_count > largeThreshold);
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_c